// Gói ngôn ngữ tiếng Việt
export default {
    // TabBar
    'tabBar.home': 'Trang chủ',
    'tabBar.deviceConfig': 'Cấu hình mạng',
    'tabBar.settings': 'Hệ thống',
    // Tiêu đề trang cài đặt
    'settings.title': 'Cài đặt',
    // Trang đăng nhập
    'login.pageTitle': 'Đăng nhập',
    'login.navigationTitle': 'Đăng nhập',
    'login.fetchConfigError': 'Không thể tải cấu hình:',
    'login.selectLanguage': 'Chọn ngôn ngữ',
    'login.selectLanguageTip': 'de',
    'login.welcomeBack': 'Chào mừng trở lại',
    'login.pleaseLogin': 'Vui lòng đăng nhập vào tài khoản của bạn',
    'login.enterUsername': 'Vui lòng nhập tên đăng nhập',
    'login.enterPassword': 'Vui lòng nhập mật khẩu',
    'login.enterCaptcha': 'Vui lòng nhập mã xác minh',
    'login.loginButton': 'Đăng nhập',
    'login.loggingIn': 'Đang đăng nhập...',
    'login.noAccount': 'Đăng ký',
    'login.enterPhone': 'Vui lòng nhập số điện thoại',
    'login.selectCountry': 'Chọn quốc gia/vùng',
    'login.confirm': 'Xác nhận',
    'login.serverSetting': 'Cài đặt máy chủ',
    'login.requiredUsername': 'Tên đăng nhập không thể để trống',
    'login.requiredPassword': 'Mật khẩu không thể để trống',
    'login.requiredCaptcha': 'Mã xác minh không thể để trống',
    'login.requiredMobile': 'Vui lòng nhập số điện thoại hợp lệ',
    'login.captchaError': 'Lỗi mã xác minh đồ họa',
    'login.forgotPassword': 'Quên mật khẩu',

    // Trang đăng ký
    'register.pageTitle': 'Đăng ký',
    'register.createAccount': 'Tạo tài khoản',
    'register.enterUsername': 'Vui lòng nhập tên đăng nhập',
    'register.enterPassword': 'Vui lòng nhập mật khẩu',
    'register.confirmPassword': 'Vui lòng xác nhận mật khẩu',
    'register.enterPhone': 'Vui lòng nhập số điện thoại',
    'register.enterCode': 'Vui lòng nhập mã xác minh',
    'register.getCode': 'Lấy mã',
    'register.agreeTerms': 'Tôi đã đọc và đồng ý với',
    'register.terms': 'Thỏa thuận người dùng',
    'register.privacy': 'Chính sách bảo mật',
    'register.registerButton': 'Đăng ký',
    'register.registering': 'Đang đăng ký...',
    'register.haveAccount': 'Đã có tài khoản?',
    'register.loginNow': 'Đăng nhập ngay',
    'register.selectCountry': 'Chọn quốc gia/vùng',
    'register.confirm': 'Xác nhận',
    'register.captchaSendSuccess': 'Đã gửi mã xác minh thành công',

    // Trang chủ
    'home.pageTitle': 'Trang chủ',
    'home.createAgent': 'Tạo đại lý',
    'home.agentName': 'Đại lý',
    'home.modelInfo': 'Thông tin mô hình',
    'home.lastActive': 'Hoạt động lần cuối',
    'home.greeting': 'Xin chào Jarvis',
    'home.subtitle': 'Hãy cùng có',
    'home.wonderfulDay': 'một ngày tuyệt vời!',
    'home.emptyState': 'Không có đại lý nào',
    'home.deviceManagement': 'Quản lý thiết bị',
    'home.lastConversation': 'Cuộc trò chuyện cuối:',
    'home.delete': 'Xóa',
    'home.createFirstAgent': 'Nhấp vào nút + ở góc dưới bên phải để tạo đại lý đầu tiên của bạn',
    'home.dialogTitle': 'Tạo đại lý',
    'home.inputPlaceholder': 'ví dụ: Trợ lý chăm sóc khách hàng, Trợ lý giọng nói, Hỏi đáp kiến thức',
    'home.createError': 'Vui lòng nhập tên đại lý',
    'home.createNow': 'Tạo ngay',
    'home.justNow': 'Vừa xong',
    'home.minutesAgo': 'phút trước',
    'home.hoursAgo': 'giờ trước',
    'home.daysAgo': 'ngày trước',

    // Trang đại lý
    'agent.pageTitle': 'Đại lý',
    'agent.roleConfig': 'Cấu hình vai trò',
    'agent.deviceManagement': 'Quản lý thiết bị',
    'agent.chatHistory': 'Lịch sử trò chuyện',
    'agent.voiceprintManagement': 'Quản lý dấu giọng nói',
    'agent.editTitle': 'Chỉnh sửa đại lý',
    'agent.toolsTitle': 'Chỉnh sửa tính năng',
    'agent.voiceActivityDetection': 'Phát hiện hoạt động giọng nói',
    'agent.speechRecognition': 'Nhận dạng giọng nói',
    'agent.largeLanguageModel': 'Mô hình ngôn ngữ lớn',
    'agent.save': 'Lưu',
    'agent.cancel': 'Hủy',
    // Trang chỉnh sửa đại lý
    'agent.basicInfo': 'Thông tin cơ bản',
    'agent.agentName': 'Tên đại lý',
    'agent.inputAgentName': 'Vui lòng nhập tên đại lý',
    'agent.roleMode': 'Chế độ vai trò',
    'agent.roleDescription': 'Mô tả vai trò',
    'agent.inputRoleDescription': 'Vui lòng nhập mô tả vai trò',
    'agent.modelConfig': 'Cấu hình mô hình',
    'agent.vad': 'Phát hiện hoạt động giọng nói',
    'agent.asr': 'Nhận dạng giọng nói',
    'agent.llm': 'Mô hình ngôn ngữ lớn',
    'agent.vllm': 'Mô hình ngôn ngữ thị giác',
    'agent.intent': 'Nhận dạng ý định',
    'agent.memory': 'Bộ nhớ',
    'agent.voiceSettings': 'Cài đặt giọng nói',
    'agent.tts': 'Văn bản thành giọng nói',
    'agent.voiceprint': 'Giọng nói đại lý',
    'agent.plugins': 'Plugin',
    'agent.editFunctions': 'Chỉnh sửa tính năng',
    'agent.historyMemory': 'Bộ nhớ lịch sử',
    'agent.memoryContent': 'Nội dung bộ nhớ',
    'agent.saving': 'Đang lưu...',
    'agent.saveSuccess': 'Lưu thành công',
    'agent.saveFail': 'Lưu thất bại',
    'agent.loadFail': 'Tải thất bại',
    'agent.pleaseInputAgentName': 'Vui lòng nhập tên đại lý',
    'agent.pleaseInputRoleDescription': 'Vui lòng nhập mô tả vai trò',
    'agent.pleaseSelect': 'Vui lòng chọn',

    // Trang lịch sử trò chuyện
    'chatHistory.getChatSessions': 'Lấy danh sách phiên trò chuyện',
    'chatHistory.noSelectedAgent': 'Chưa chọn đại lý',
    'chatHistory.getChatSessionsFailed': 'Không thể lấy danh sách phiên trò chuyện:',
    'chatHistory.unknownTime': 'Thời gian không xác định',
    'chatHistory.justNow': 'Vừa xong',
    'chatHistory.minutesAgo': '{minutes} phút trước',
    'chatHistory.hoursAgo': '{hours} giờ trước',
    'chatHistory.daysAgo': '{days} ngày trước',
    'chatHistory.conversationRecord': 'Bản ghi trò chuyện',
    'chatHistory.totalChats': 'Tổng cộng {count} cuộc trò chuyện',
    'chatHistory.loading': 'Đang tải...',
    'chatHistory.noMoreData': 'Không còn dữ liệu',
    'chatHistory.noChatRecords': 'Không có bản ghi trò chuyện',
    'chatHistory.chatRecordsDescription': 'Bản ghi trò chuyện với đại lý sẽ hiển thị ở đây',
    // Trang chi tiết lịch sử trò chuyện
    'chatHistory.pageTitle': 'Chi tiết trò chuyện',
    'chatHistory.assistantName': 'Trợ lý thông minh',
    'chatHistory.userName': 'Người dùng',
    'chatHistory.aiAssistantName': 'Trợ lý AI',
    'chatHistory.loadFailed': 'Không thể tải lịch sử trò chuyện',
    'chatHistory.parameterError': 'Lỗi tham số trang',
    'chatHistory.invalidAudioId': 'ID âm thanh không hợp lệ',
    'chatHistory.audioPlayFailed': 'Phát âm thanh thất bại',
    'chatHistory.playAudioFailed': 'Không thể phát âm thanh',

    // Trang quản lý thiết bị
    'device.pageTitle': 'Quản lý thiết bị',
    'device.noDevices': 'Không có thiết bị nào',
    'device.macAddress': 'Địa chỉ MAC',
    'device.firmwareVersion': 'Phiên bản firmware',
    'device.lastConnected': 'Cuộc trò chuyện cuối',
    'device.otaUpdate': 'Cập nhật OTA',
    'device.unbind': 'Hủy liên kết',
    'device.confirmUnbind': 'Xác nhận',
    'device.bindDevice': 'Liên kết thiết bị mới',
    'device.deviceType': 'Loại thiết bị',
    'device.loading': 'Đang tải...',
    'device.neverConnected': 'Chưa kết nối',
    'device.justNow': 'Vừa xong',
    'device.minutesAgo': '{minutes} phút trước',
    'device.hoursAgo': '{hours} giờ trước',
    'device.daysAgo': '{days} ngày trước',
    'device.otaAutoUpdateEnabled': 'Đã bật cập nhật OTA tự động',
    'device.otaAutoUpdateDisabled': 'Đã tắt cập nhật OTA tự động',
    'device.operationFailed': 'Thao tác thất bại, vui lòng thử lại',
    'device.deviceUnbound': 'Đã hủy liên kết thiết bị',
    'device.unbindFailed': 'Hủy liên kết thất bại, vui lòng thử lại',
    'device.unbindDevice': 'Hủy liên kết thiết bị',
    'device.confirmUnbindDevice': 'Bạn có chắc chắn muốn hủy liên kết thiết bị "{macAddress}"?',
    'device.cancel': 'Hủy',
    'device.noDevice': 'Không có thiết bị',
    'device.pleaseSelectAgent': 'Vui lòng chọn một đại lý trước',
    'device.deviceBindSuccess': 'Liên kết thiết bị thành công!',
    'device.bindFailed': 'Liên kết thất bại, vui lòng kiểm tra mã xác minh có đúng không',
    'device.enterDeviceCode': 'Vui lòng nhập mã xác minh thiết bị',
    'device.bindNow': 'Liên kết ngay',
    'device.lastConnection': 'Kết nối cuối',
    'device.clickToBindFirstDevice': 'Nhấp vào nút + ở góc dưới bên phải để liên kết thiết bị đầu tiên của bạn',

    // Chung
    'common.success': 'Thành công',
    'common.fail': 'Thất bại',
    'common.loading': 'Đang tải...',
    'common.confirm': 'Xác nhận',
    'common.cancel': 'Hủy',
    'common.delete': 'Xóa',
    'common.edit': 'Chỉnh sửa',
    'common.add': 'Thêm',
    'common.pleaseSelect': 'Vui lòng chọn',
    'common.unknownError': 'Lỗi không xác định',
    'common.networkError': 'Lỗi mạng',

    // Trang khôi phục mật khẩu
    'retrievePassword.title': 'Đặt lại mật khẩu',
    'retrievePassword.subtitle': 'Khôi phục mật khẩu tài khoản qua số điện thoại',
    'retrievePassword.mobileRequired': 'Vui lòng nhập số điện thoại',
    'retrievePassword.inputCorrectMobile': 'Vui lòng nhập số điện thoại hợp lệ',
    'retrievePassword.captchaRequired': 'Vui lòng nhập mã xác minh đồ họa',
    'retrievePassword.mobileCaptchaRequired': 'Vui lòng nhập mã xác minh SMS',
    'retrievePassword.newPasswordRequired': 'Vui lòng nhập mật khẩu mới',
    'retrievePassword.confirmNewPasswordRequired': 'Vui lòng xác nhận mật khẩu mới',
    'retrievePassword.passwordsNotMatch': 'Mật khẩu không khớp',
    'retrievePassword.mobilePlaceholder': 'Vui lòng nhập số điện thoại',
    'retrievePassword.captchaPlaceholder': 'Vui lòng nhập mã xác minh đồ họa',
    'retrievePassword.mobileCaptchaPlaceholder': 'Vui lòng nhập mã xác minh SMS',
    'retrievePassword.newPasswordPlaceholder': 'Vui lòng nhập mật khẩu mới',
    'retrievePassword.confirmNewPasswordPlaceholder': 'Vui lòng xác nhận mật khẩu mới',
    'retrievePassword.getMobileCaptcha': 'Lấy mã',
    'retrievePassword.captchaSendSuccess': 'Đã gửi mã xác minh thành công',
    'retrievePassword.passwordUpdateSuccess': 'Đặt lại mật khẩu thành công',
    'retrievePassword.resetButton': 'Đặt lại mật khẩu',
    'retrievePassword.goToLogin': 'Quay lại đăng nhập',

    // Thông báo lỗi liên quan đến mã hóa SM2
    'sm2.publicKeyNotConfigured': 'Khóa công khai SM2 chưa được cấu hình, vui lòng liên hệ quản trị viên',
    'sm2.encryptionFailed': 'Mã hóa mật khẩu thất bại',
    'sm2.keyGenerationFailed': 'Tạo cặp khóa thất bại',
    'sm2.invalidPublicKey': 'Định dạng khóa công khai không hợp lệ',
    'sm2.encryptionError': 'Đã xảy ra lỗi khi mã hóa',
    'sm2.publicKeyRetry': 'Đang thử lấy lại khóa công khai...',
    'sm2.publicKeyRetryFailed': 'Thử lấy lại khóa công khai thất bại',

    // Trang dấu giọng nói
    'voiceprint.noSelectedAgent': 'Chưa chọn đại lý',
    'voiceprint.pleaseSelectAgent': 'Vui lòng chọn một đại lý trước',
    'voiceprint.fetchHistoryFailed': 'Không thể tải lịch sử trò chuyện',
    'voiceprint.clickToSelectVector': 'Nhấp để chọn vector dấu giọng nói',
    'voiceprint.pleaseInputName': 'Vui lòng nhập tên',
    'voiceprint.pleaseSelectVector': 'Vui lòng chọn vector dấu giọng nói',
    'voiceprint.addSuccess': 'Thêm thành công',
    'voiceprint.addFailed': 'Thêm người nói thất bại',
    'voiceprint.editSuccess': 'Chỉnh sửa thành công',
    'voiceprint.editFailed': 'Chỉnh sửa người nói thất bại',
    'voiceprint.deleteConfirmMsg': 'Bạn có chắc chắn muốn xóa người nói này?',
    'voiceprint.deleteConfirmTitle': 'Xác nhận xóa',
    'voiceprint.deleteSuccess': 'Xóa thành công',
    'voiceprint.loading': 'Đang tải...',
    'voiceprint.delete': 'Xóa',
    'voiceprint.emptyTitle': 'Không có dữ liệu dấu giọng nói',
    'voiceprint.emptyDesc': 'Nhấp vào nút + ở góc dưới bên phải để thêm người nói đầu tiên của bạn',
    'voiceprint.addSpeaker': 'Thêm người nói',
    'voiceprint.voiceVector': 'Vector dấu giọng nói',
    'voiceprint.name': 'Tên',
    'voiceprint.description': 'Mô tả',
    'voiceprint.pleaseInputDescription': 'Vui lòng nhập mô tả',
    'voiceprint.cancel': 'Hủy',
    'voiceprint.save': 'Lưu',
    'voiceprint.editSpeaker': 'Chỉnh sửa người nói',
    'voiceprint.selectVector': 'Chọn vector dấu giọng nói',
    'voiceprint.voiceprintInterfaceNotConfigured': 'Giao diện dấu giọng nói chưa được cấu hình',

    // Trang cài đặt
    'settings.pageTitle': 'Cài đặt',
    'settings.navigationTitle': 'Cài đặt',
    'settings.networkSettings': 'Cài đặt mạng',
    'settings.serverApiUrl': 'URL API máy chủ',
    'settings.validServerUrl': 'Vui lòng nhập địa chỉ máy chủ hợp lệ (bắt đầu bằng http hoặc https và kết thúc bằng /xiaozhi)',
    'settings.saveSettings': 'Lưu cài đặt',
    'settings.resetDefault': 'Đặt lại mặc định',
    'settings.restartApp': 'Khởi động lại ứng dụng',
    'settings.restartNow': 'Khởi động lại ngay',
    'settings.restartLater': 'Để sau',
    // Về chúng tôi
    'settings.aboutApp': 'Về Bảng điều khiển XiaoZhi',
    'settings.aboutContent': 'Bảng điều khiển XiaoZhi\n\nỨng dụng quản lý di động đa nền tảng được xây dựng với Vue.js 3 + uni-app, cung cấp quản lý thiết bị, cấu hình đại lý và các chức năng khác cho phần cứng thông minh xiaozhi ESP32.\n\n© 2025 xiaozhi-esp32-server {version}',
    'settings.restartSuccess': 'Đã lưu, bạn có thể tự khởi động lại ứng dụng sau',
    'settings.serverUrlSavedAndCacheCleared': 'Đã lưu URL máy chủ và xóa bộ nhớ cache',
    'settings.resetToDefaultAndCacheCleared': 'Đã đặt lại mặc định và xóa bộ nhớ cache',
    'settings.resetSuccess': 'Đặt lại thành công',
    'settings.enterServerUrl': 'Vui lòng nhập URL máy chủ',
    'settings.clearCacheFailed': 'Không thể xóa bộ nhớ cache',
    'settings.cacheManagement': 'Quản lý bộ nhớ cache',
    'settings.totalCacheSize': 'Tổng kích thước bộ nhớ cache',
    'settings.appDataSize': 'Tổng kích thước dữ liệu ứng dụng',
    'settings.cacheClear': 'Xóa bộ nhớ cache',
    'settings.clearAllCache': 'Xóa tất cả dữ liệu bộ nhớ cache',
    'settings.clearCache': 'Xóa bộ nhớ cache',
    'settings.modifyWillClearCache': 'Thay đổi sẽ xóa bộ nhớ cache',
    'settings.appInfo': 'Thông tin ứng dụng',
    'settings.aboutUs': 'Về chúng tôi',
    'settings.appVersion': 'Phiên bản ứng dụng & Thông tin nhóm',
    'settings.confirmClear': 'Xác nhận xóa',
    'settings.confirmClearMessage': 'Bạn có chắc chắn muốn xóa toàn bộ bộ nhớ cache? Điều này sẽ xóa tất cả dữ liệu bao gồm trạng thái đăng nhập và yêu cầu đăng nhập lại.',
    'settings.cacheCleared': 'Đã xóa bộ nhớ cache thành công, đang chuyển hướng đến trang đăng nhập',
    'settings.languageSettings': 'Cài đặt ngôn ngữ',
    'settings.language': 'Ngôn ngữ',
    'settings.selectLanguage': 'Chọn ngôn ngữ',
    'settings.languageChanged': 'Đã thay đổi ngôn ngữ thành công',

    // Thông báo
    'message.loginSuccess': 'Đăng nhập thành công!',
    'message.loginFail': 'Đăng nhập thất bại',
    'message.registerSuccess': 'Đăng ký thành công',
    'message.registerFail': 'Đăng ký thất bại',
    'message.saveSuccess': 'Lưu thành công',
    'message.saveFail': 'Lưu thất bại',
    'message.deleteSuccess': 'Xóa thành công',
    'message.deleteFail': 'Xóa thất bại',
    'message.bindSuccess': 'Liên kết thành công',
    'message.bindFail': 'Liên kết thất bại',
    'message.unbindSuccess': 'Hủy liên kết thành công',
    'message.unbindFail': 'Hủy liên kết thất bại',
    'message.networkError': 'Lỗi mạng, vui lòng kiểm tra kết nối',
    'message.serverError': 'Lỗi máy chủ, vui lòng thử lại sau',
    'message.invalidAddress': 'Địa chỉ không hợp lệ, vui lòng kiểm tra máy chủ đã khởi động hoặc kết nối mạng bình thường',
    'message.languageChanged': 'Đã thay đổi ngôn ngữ',
    'message.passwordError': 'Lỗi tài khoản hoặc mật khẩu',
    'message.phoneRegistered': 'Số điện thoại này đã được đăng ký',

    // Trang công cụ đại lý
    'agent.tools.pageTitle': 'Công cụ đại lý',
    'agent.tools.unselected': 'Chưa chọn',
    'agent.tools.selected': 'Đã chọn',
    'agent.tools.noMorePlugins': 'Không còn plugin',
    'agent.tools.pleaseSelectPlugin': 'Vui lòng chọn chức năng plugin',
    'agent.tools.builtInPlugins': 'Plugin tích hợp',
    'agent.tools.mcpAccessPoint': 'Điểm truy cập MCP',
    'agent.tools.copy': 'Sao chép',
    'agent.tools.noTools': 'Không có công cụ nào',
    'agent.tools.parameterConfig': 'Cấu hình tham số',
    'agent.tools.noParamsNeeded': 'Không cần tham số',
    'agent.tools.pleaseInput': 'Vui lòng nhập',
    'agent.tools.inputOneItemPerLine': 'Nhập một mục mỗi dòng',
    'agent.tools.pleaseInputValidJson': 'Vui lòng nhập định dạng JSON hợp lệ',
    'agent.tools.enableFunction': 'Bật chức năng',
    'agent.tools.toggleFunction': 'Bật hoặc tắt chức năng này',
    'agent.tools.jsonFormatError': 'Lỗi định dạng JSON',
    'agent.tools.noMcpAddressToCopy': 'Không có địa chỉ MCP để sao chép',
    'agent.tools.mcpAddressCopied': 'Đã sao chép địa chỉ MCP vào bộ nhớ tạm',
    'agent.tools.copyFailed': 'Sao chép thất bại, vui lòng thử lại',
    'agent.tools.defaultValue': 'Giá trị mặc định',
    'agent.tools.notSelected': 'Chưa chọn',
    'agent.tools.clickToConfigure': 'Nhấp để cấu hình',
    'agent.tools.mcpEndpoint': 'Điểm cuối MCP',
    'agent.tools.eachLineOneItem': 'Nhập một mục mỗi dòng',

    // Trang cấu hình thiết bị
    'deviceConfig.pageTitle': 'Cấu hình thiết bị',
    'deviceConfig.wifiConfig': 'Cấu hình WiFi',
    'deviceConfig.ultrasonicConfig': 'Cấu hình siêu âm',
    'deviceConfig.selectConfigMethod': 'Chọn phương pháp cấu hình',
    'deviceConfig.networkConfig': 'Cấu hình mạng',
    'deviceConfig.selectedNetwork': 'Mạng đã chọn',
    'deviceConfig.signal': 'Tín hiệu',
    'deviceConfig.openNetwork': 'Mạng mở',
    'deviceConfig.encryptedNetwork': 'Mạng mã hóa',
    'deviceConfig.password': 'Mật khẩu',
    'deviceConfig.pleaseEnterPassword': 'Vui lòng nhập mật khẩu WiFi',
    'deviceConfig.startConfig': 'Bắt đầu cấu hình',
    'deviceConfig.connectToXiaozhiHotspot': 'Vui lòng kết nối với điểm phát sóng xiaozhi trước',
    'deviceConfig.detecting': 'Đang phát hiện...',
    'deviceConfig.reDetect': 'Phát hiện lại',
    'deviceConfig.alreadyConnected': 'Đã kết nối với điểm phát sóng xiaozhi',
    'deviceConfig.refreshStatus': 'Làm mới trạng thái',
    'deviceConfig.wifiNetworks': 'Mạng WiFi',
    'deviceConfig.selectWifiNetwork': 'Chọn mạng WiFi',
    'deviceConfig.refreshScan': 'Làm mới quét',
    'deviceConfig.noWifiNetworks': 'Không có mạng WiFi nào',
    'deviceConfig.clickToRefreshScan': 'Vui lòng nhấp Làm mới quét',
    'deviceConfig.signalStrong': 'Tín hiệu mạnh',
    'deviceConfig.signalGood': 'Tín hiệu tốt',
    'deviceConfig.signalFair': 'Tín hiệu trung bình',
    'deviceConfig.signalWeak': 'Tín hiệu yếu',
    'deviceConfig.channel': 'Kênh',
    'deviceConfig.about': 'khoảng',
    'deviceConfig.seconds': 'giây',
    'deviceConfig.generating': 'Đang tạo...',
    'deviceConfig.playing': 'Đang phát...',
    'deviceConfig.generateAndPlaySoundWave': 'Tạo và phát sóng âm',
    'deviceConfig.playSoundWave': 'Phát sóng âm',
    'deviceConfig.stopPlaying': 'Dừng phát',
    'deviceConfig.autoLoopPlaySoundWave': 'Tự động lặp phát sóng âm',
    'deviceConfig.configAudioFile': 'Tệp âm thanh cấu hình',
    'deviceConfig.duration': 'Thời lượng',
    'deviceConfig.ultrasonicConfigInstructions': 'Hướng dẫn cấu hình siêu âm',
    'deviceConfig.ensureWifiNetworkSelectedAndPasswordEntered': 'Đảm bảo mạng WiFi được chọn và mật khẩu đã nhập',
    'deviceConfig.clickGenerateAndPlaySoundWave': 'Nhấp Tạo và phát sóng âm, hệ thống sẽ mã hóa thông tin cấu hình thành âm thanh',
    'deviceConfig.bringPhoneCloseToXiaozhiDevice': 'Đưa điện thoại lại gần thiết bị xiaozhi (khoảng cách 1-2 mét)',
    'deviceConfig.duringAudioPlaybackXiaozhiWillReceive': 'Trong khi phát âm thanh, xiaozhi sẽ nhận và giải mã thông tin cấu hình',
    'deviceConfig.afterConfigSuccessDeviceWillConnect': 'Sau khi cấu hình thành công, thiết bị sẽ tự động kết nối với mạng WiFi',
    'deviceConfig.usesAfskModulation': 'Sử dụng công nghệ điều chế AFSK, truyền dữ liệu qua tần số 1800Hz và 1500Hz',
    'deviceConfig.ensureModeratePhoneVolume': 'Vui lòng đảm bảo âm lượng điện thoại vừa phải để tránh nhiễu tiếng ồn môi trường',
    'deviceConfig.generatingUltrasonicConfigAudio': 'Đang tạo âm thanh cấu hình siêu âm',
    'deviceConfig.configData': 'Dữ liệu cấu hình',
    'deviceConfig.dataBytesLength': 'Độ dài byte dữ liệu',
    'deviceConfig.bitStreamLength': 'Độ dài luồng bit',
    'deviceConfig.base64Length': 'Độ dài base64',
    'deviceConfig.audioFileTooLarge': 'Tệp âm thanh quá lớn, vui lòng rút ngắn SSID hoặc độ dài mật khẩu',
    'deviceConfig.audioGenerationSuccess': 'Tạo âm thanh thành công',
    'deviceConfig.samplePoints': 'Điểm mẫu',
    'deviceConfig.soundWaveGenerationSuccess': 'Tạo sóng âm thành công',
    'deviceConfig.audioGenerationFailed': 'Tạo âm thanh thất bại',
    'deviceConfig.soundWaveGenerationFailed': 'Tạo sóng âm thất bại',
    'deviceConfig.pleaseGenerateAudioFirst': 'Vui lòng tạo âm thanh trước',
    'deviceConfig.startPlayingUltrasonicConfigAudio': 'Bắt đầu phát âm thanh cấu hình siêu âm',
    'deviceConfig.ultrasonicAudioStartedPlaying': 'Đã bắt đầu phát âm thanh siêu âm',
    'deviceConfig.startPlayingConfigSoundWave': 'Đã bắt đầu phát sóng âm cấu hình',
    'deviceConfig.ultrasonicAudioPlaybackEnded': 'Kết thúc phát âm thanh siêu âm',
    'deviceConfig.audioPlaybackFailed': 'Phát âm thanh thất bại',
    'deviceConfig.audioResourceBusy': 'Tài nguyên âm thanh bận, vui lòng thử lại sau',
    'deviceConfig.audioFormatNotSupported': 'Định dạng âm thanh không được hỗ trợ, có thể là vấn đề URI dữ liệu',
    'deviceConfig.audioFileError': 'Lỗi tệp âm thanh',
    'deviceConfig.cleaningUpAudioContext': 'Đang dọn dẹp ngữ cảnh âm thanh',
    'deviceConfig.cleaningUpAudioContextFailed': 'Không thể dọn dẹp ngữ cảnh âm thanh',
    'deviceConfig.stoppedPlayingUltrasonicAudio': 'Đã dừng phát âm thanh siêu âm',
    'deviceConfig.stoppedPlaying': 'Đã dừng phát',
    'deviceConfig.configMethod': 'Phương pháp cấu hình',
    'deviceConfig.enterWifiPassword': 'Vui lòng nhập mật khẩu WiFi',
    'deviceConfig.xiaozhi': 'xiaozhi',
    'deviceConfig.connectXiaozhiHotspot': 'Vui lòng kết nối với điểm phát sóng xiaozhi',
    'deviceConfig.wifiScanResponse': 'Phản hồi quét WiFi',
    'deviceConfig.scanSuccess': 'Quét thành công',
    'deviceConfig.networks': 'mạng',
    'deviceConfig.wifiScanFailed': 'Quét WiFi thất bại',
    'deviceConfig.scanFailedCheckConnection': 'Quét thất bại, vui lòng kiểm tra kết nối',
    'deviceConfig.checking': 'Đang kiểm tra',
    'deviceConfig.reCheck': 'Kiểm tra lại',
    'deviceConfig.connectedXiaozhiHotspot': 'Đã kết nối với điểm phát sóng xiaozhi',
    'deviceConfig.wifiNetwork': 'Mạng WiFi',
    'deviceConfig.scanning': 'Đang quét',
    'deviceConfig.cancel': 'Hủy',
    'deviceConfig.clickRefreshScan': 'Vui lòng nhấp Làm mới quét',
    'deviceConfig.esp32ConnectionCheckFailed': 'Kiểm tra kết nối ESP32 thất bại',
    'deviceConfig.startWifiConfig': 'Đang bắt đầu cấu hình WiFi',
    'deviceConfig.configSuccess': 'Cấu hình thành công',
    'deviceConfig.deviceWillConnectTo': 'Thiết bị sẽ kết nối với',
    'deviceConfig.deviceWillRestart': 'Thiết bị sẽ khởi động lại',
    'deviceConfig.pleaseDisconnectXiaozhiHotspot': 'Vui lòng ngắt kết nối khỏi điểm phát sóng xiaozhi',
    'deviceConfig.configFailed': 'Cấu hình thất bại',
    'deviceConfig.wifiConfigFailed': 'Cấu hình WiFi thất bại',
    'deviceConfig.pleaseCheckNetworkConnection': 'Vui lòng kiểm tra kết nối mạng',
    'deviceConfig.startWifiConfigButton': 'Bắt đầu cấu hình',
    'deviceConfig.wifiConfigInstructions': 'Hướng dẫn cấu hình WiFi',
    'deviceConfig.phoneConnectXiaozhiHotspot': 'Điện thoại kết nối với điểm phát sóng xiaozhi',
    'deviceConfig.selectTargetWifiNetwork': 'Chọn mạng WiFi mục tiêu',
    'deviceConfig.enterWifiPasswordIfNeeded': 'Nhập mật khẩu WiFi nếu cần',
    'deviceConfig.clickStartConfigAndWait': 'Nhấp Bắt đầu cấu hình và chờ',
    'deviceConfig.afterConfigSuccessDeviceWillRestart': 'Sau khi cấu hình thành công, thiết bị sẽ tự động khởi động lại',
    'deviceConfig.audioPlaybackError': 'Lỗi phát âm thanh',
    'deviceConfig.playbackFailed': 'Phát thất bại',
}